package com.xinqi.modules.discuss.notice.dto.rsp;

import com.xinqi.common.core.enums.CourseContentTypeEnum;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 课程公告主表-响应对象
 *
 * @author: yyzhen
 * @date: 2023/03/21
 */
@Data
public class CourseNoticeResultDTO implements Serializable {
    /**
     * 主键
     */
    private Long id;
    /**
     * 创建者
     */
    private Long createBy;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 标题
     */
    private String title;
    /**
     * 详情内容
     */
    private String content;
    /**
     * 附件
     */
    private String fileurls;
    /**
     * 视频j集合
     */
    private String videos;
    /**
     * 图片集合
     */
    private String images;
    /**
     * 班级ID
     */
    private Long classId;
    /**
     * 是否同步发布到班级 0否 1是
     */
    private Integer synchro;
    /**
     * 同步的班级ID集合
     */
    private String classIds;
    /**
     * 是否确认公告 0-不需要确认，1-需要手动确认，2-需要签字确认
     */
    private Integer isConfirm;
    /**
     *  确认时间
     */
    private LocalDateTime confirmTime;
    /**
     * 是否立即发布，0否  1是
     */
    private Integer nowRelease;
    /**
     * 定时发布，0不定时 1定时
     */
    private Integer timing;
    /**
     * 发布时间
     */
    private LocalDateTime releaseTime;
    /**
     * 截止时间(各种类型结束时间)
     */
    private LocalDateTime endTime;
    /**
     * 是否置顶 0否 1是
     */
    private Integer isTop;
    /**
     * 置顶时间
     */
    private LocalDateTime topTime;
    /**
     * 发布状态 1未发布 2定时发布 3已发布 4已结束
     */
    private Integer status;
    /**
     * 是否已读
     */
    private Integer isRead;
    /**
     * 是否确认
     */
    private Integer confirmed;
    /**
     * 昵称
     */
    private String nickname;
    /**
     * 班级学生显示姓名
     */
    private String studentName;
    /**
     * 与学生的关系
     */
    private String relationship;
    /**
     * 学号
     */
    private String studentNumber;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 评论数
     */
    private Integer comments = 0;
    /**
     * 已读（1/2 -- 1）
     */
    private Integer read = 0;
    /**
     * 已确认（1/2 -- 1）
     */
    private Integer confirm = 0;
    /**
     * 总数（1/2 -- 2）
     */
    private Integer total = 0;

    private Long chapterId;

    //=========== 操作用户信息 ============
    /**
     * 操作用户头像
     */
    private String operaAvatar;
    /**
     * 操作用户主学生信息
     */
    private String operaStudentName;
    /**
     * 操作用户与主学生关系
     */
    private String operaRelationship;

    /**
     * 课程类型
     */
    private Integer typeEnum = CourseContentTypeEnum.NOTICE.getCode();

}
